/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.kwikMart.business;

import com.kwikMart.accesData.DetallePedido;
import com.kwikMart.accesData.Pedido;
import com.kwikMart.accesData.Producto;
import com.kwikMart.utils.OperationResult;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

/**
 *
 * @author WIL
 */
@Stateless
public class InventarioEJB implements InventarioEJBLocal {

    @PersistenceContext(unitName = "Kwik-E-Mart-ejbPU")
    private EntityManager em;

    @Override
    public OperationResult actualizarInventario(Pedido pedidoRealizado) {
        OperationResult resultado = new OperationResult(false);
        try {
            for (DetallePedido i : pedidoRealizado.getDetallePedidoList()) {
                Producto pro = (Producto) em.createNamedQuery("Producto.findByIdProducto").setParameter("idProducto", i.getIdProducto().getIdProducto()).getSingleResult();
                pro.setExistencias(pro.getExistencias() - i.getCantidad());
                em.merge(pro);
            }
            resultado.setOk(true);
        } catch (Exception e) {
            resultado.getErrors().add("Ocurrio un error al actualizar el inventario");
        }
        return resultado;
    }

    public void persist(Object object) {
        em.persist(object);
    }

}
